package licode.unisop.client.visit;

import licode.unisop.client.info.SopRealmIdIn;
import licode.unisop.client.info.SopTokenInfo;
import licode.unisop.client.vo.SopAuthBrief;
import licode.unisop.client.vo.SopAuthUser;
import licode.unisop.client.vo.SopCredential;
import licode.unisop.client.vo.SopUserBrief;

import java.util.Map;

/**
 * @author licode
 */
public interface UserAuthQueryVisit {
    SopAuthBrief getTokenInfo(SopRealmIdIn idIn, boolean noThrow);
    SopAuthUser getAuthInfo(SopRealmIdIn idIn);
    SopUserBrief getAuthUser(SopRealmIdIn idIn);
    SopCredential getAuthCred(SopRealmIdIn idIn);
    Map<String, Object> getUserAssets(SopRealmIdIn idIn);
    boolean tokenValid(SopTokenInfo tokenInfo);
}
